package com.ruoyi.driver.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 驾驶员信息对象 t_driver_info
 * 
 * @author ssh
 * @date 2024-12-19
 */
public class DriverInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 出生年月 */
    @Excel(name = "出生年月")
    private String birthDate;

    /** 驾驶员姓名 */
    @Excel(name = "驾驶员姓名")
    private String name;

    /** 车队编号 */
    @Excel(name = "车队编号")
    private String teamId;

    /** 性别 0-女 1-男，为空默认为男 */
    @Excel(name = "性别 0-女 1-男，为空默认为男")
    private String sex;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 驾驶员身份ID */
    @Excel(name = "驾驶员身份ID")
    private String icCard;

    /** 身份证照片(最多2张)-附件 */
    @Excel(name = "身份证照片(最多2张)-附件")
    private String idCardPhoto;

    /** 人脸照片(最多8张)-附件 */
    @Excel(name = "人脸照片(最多8张)-附件")
    private String facePhoto;

    /** 健康证明(最多2张)-附件 */
    @Excel(name = "健康证明(最多2张)-附件")
    private String healthProof;

    /** 驾驶员类型（选择） */
    @Excel(name = "驾驶员类型", readConverterExp = "选=择")
    private String driverType;

    /** 准驾车型（选择） */
    @Excel(name = "准驾车型", readConverterExp = "选=择")
    private String drivingLicenseType;

    /** 初次领证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstIssueDate;

    /** 驾驶证有限期开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有限期开始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseValidFrom;

    /** 驾驶证有限期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有限期结束", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseValidTo;

    /** 驾驶证档案编号 */
    @Excel(name = "驾驶证档案编号")
    private String licenseFileNumber;

    /** 驾驶证照片（主副页）-附件 */
    @Excel(name = "驾驶证照片", readConverterExp = "主=副页")
    private String licensePhoto;

    /** 从业资格信息-附件 */
    @Excel(name = "从业资格信息-附件")
    private String qualificationInfo;

    /** 机动车驾驶员安全信用表-附件 */
    @Excel(name = "机动车驾驶员安全信用表-附件")
    private String driverSafetyCreditTable;

    /** 扩展位 */
    @Excel(name = "扩展位")
    private String exts;

    /** 数据状态（作为逻辑删除，0为正常-1为删除） */
    @Excel(name = "数据状态", readConverterExp = "作=为逻辑删除，0为正常-1为删除")
    private Long status;

    /** 关联用户账号userId */
    @Excel(name = "关联用户账号userId")
    private Long userId;


    /** 关联用户账号userId */
    @Excel(name = "关联用户账号userId")
    private Long transportationCompanyUserId;

    public Long getTransportationCompanyUserId() {
        return transportationCompanyUserId;
    }

    public void setTransportationCompanyUserId(Long transportationCompanyUserId) {
        this.transportationCompanyUserId = transportationCompanyUserId;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setBirthDate(String birthDate) 
    {
        this.birthDate = birthDate;
    }

    public String getBirthDate() 
    {
        return birthDate;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setTeamId(String teamId) 
    {
        this.teamId = teamId;
    }

    public String getTeamId() 
    {
        return teamId;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setIcCard(String icCard) 
    {
        this.icCard = icCard;
    }

    public String getIcCard() 
    {
        return icCard;
    }
    public void setIdCardPhoto(String idCardPhoto) 
    {
        this.idCardPhoto = idCardPhoto;
    }

    public String getIdCardPhoto() 
    {
        return idCardPhoto;
    }
    public void setFacePhoto(String facePhoto) 
    {
        this.facePhoto = facePhoto;
    }

    public String getFacePhoto() 
    {
        return facePhoto;
    }
    public void setHealthProof(String healthProof) 
    {
        this.healthProof = healthProof;
    }

    public String getHealthProof() 
    {
        return healthProof;
    }
    public void setDriverType(String driverType) 
    {
        this.driverType = driverType;
    }

    public String getDriverType() 
    {
        return driverType;
    }
    public void setDrivingLicenseType(String drivingLicenseType) 
    {
        this.drivingLicenseType = drivingLicenseType;
    }

    public String getDrivingLicenseType() 
    {
        return drivingLicenseType;
    }
    public void setFirstIssueDate(Date firstIssueDate) 
    {
        this.firstIssueDate = firstIssueDate;
    }

    public Date getFirstIssueDate() 
    {
        return firstIssueDate;
    }
    public void setLicenseValidFrom(Date licenseValidFrom) 
    {
        this.licenseValidFrom = licenseValidFrom;
    }

    public Date getLicenseValidFrom() 
    {
        return licenseValidFrom;
    }
    public void setLicenseValidTo(Date licenseValidTo) 
    {
        this.licenseValidTo = licenseValidTo;
    }

    public Date getLicenseValidTo() 
    {
        return licenseValidTo;
    }
    public void setLicenseFileNumber(String licenseFileNumber) 
    {
        this.licenseFileNumber = licenseFileNumber;
    }

    public String getLicenseFileNumber() 
    {
        return licenseFileNumber;
    }
    public void setLicensePhoto(String licensePhoto) 
    {
        this.licensePhoto = licensePhoto;
    }

    public String getLicensePhoto() 
    {
        return licensePhoto;
    }
    public void setQualificationInfo(String qualificationInfo) 
    {
        this.qualificationInfo = qualificationInfo;
    }

    public String getQualificationInfo() 
    {
        return qualificationInfo;
    }
    public void setDriverSafetyCreditTable(String driverSafetyCreditTable) 
    {
        this.driverSafetyCreditTable = driverSafetyCreditTable;
    }

    public String getDriverSafetyCreditTable() 
    {
        return driverSafetyCreditTable;
    }
    public void setExts(String exts) 
    {
        this.exts = exts;
    }

    public String getExts() 
    {
        return exts;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("birthDate", getBirthDate())
            .append("name", getName())
            .append("teamId", getTeamId())
            .append("sex", getSex())
            .append("phone", getPhone())
            .append("icCard", getIcCard())
            .append("idCardPhoto", getIdCardPhoto())
            .append("facePhoto", getFacePhoto())
            .append("healthProof", getHealthProof())
            .append("driverType", getDriverType())
            .append("drivingLicenseType", getDrivingLicenseType())
            .append("firstIssueDate", getFirstIssueDate())
            .append("licenseValidFrom", getLicenseValidFrom())
            .append("licenseValidTo", getLicenseValidTo())
            .append("licenseFileNumber", getLicenseFileNumber())
            .append("licensePhoto", getLicensePhoto())
            .append("qualificationInfo", getQualificationInfo())
            .append("driverSafetyCreditTable", getDriverSafetyCreditTable())
            .append("exts", getExts())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("userId", getUserId())
            .toString();
    }
}
